package create.singleton.singleton_demo1;

/**
 * 单例使用总结
 * 一般情况下，不建议使用第2种和第3种懒汉方式，建议使用第1种饿汉方式。
 * 只有在要明确实现 lazy loading 效果时，才会使用第 5 种登记方式，但是反射可以破坏单例性
 * 如果涉及到反序列化创建对象时，可以尝试使用第 6 种枚举方式。
 * 如果有其他特殊的需求，可以考虑使用第 4 种双检锁方式。
 *
 * @author yeyangtao
 * @date 2020/5/19 17:44
 */
public class Test {
    public static void main(String[] args) {
        Single1 single1 = Single1.getInstance();
        single1.setName("123");
        Single1 single2 = Single1.getInstance();
        System.out.println(single1.equals(single2) + single2.getName());

        Single6.INSTANCE.doSomething();
    }
}
